A dynamic system (either natural or man-made) is a system whose response at any given time is a function of its input stimuli, its current state, and the current time. Such systems range from simple to highly complex systems. Physical dynamic systems include a falling body, the rotation of the earth, bio-mechanical systems (muscles, joints, etc.), bio-chemical systems (gene expression, protein pathways), weather and climate pattern systems, etc. Examples of man-made or engineered dynamic systems include: a bouncing ball, a spring with a mass tied on an end, automobiles, airplanes, control systems in major appliances, communication networks, audio signal processing, nuclear reactors, a stock market, etc.
Professionals from diverse areas such as engineering, science, education, and economics build mathematical models of dynamic systems in order to better understand system behavior as it changes with the progression of time. The mathematical models aid in building “better” systems, where “better” may be defined in terms of a variety of performance measures such as quality, time-to-market, cost, speed, size, power consumption, robustness, etc. The mathematical models also aid in analyzing, debugging and repairing existing systems (be it the human body or the anti-lock braking system in a car). The models may also serve an educational purpose of educating others on the basic principles governing physical systems. The models and results are often used as a scientific communication medium between humans. The term “model-based design” is used to refer to the use of graphical models in the development, analysis, and validation of dynamic systems.
Dynamic systems are typically modeled in simulation environments as sets of differential, difference, and/or algebraic equations. At any given instant of time, these equations may be viewed as relationships between the system's output response (“outputs”), the system's input stimuli (“inputs”) at that time, the current state of the system, the system parameters, and time. The state of the system may be thought of as a numerical representation of the dynamically changing configuration of the system. For instance, in a physical system modeling a simple pendulum, the state may be viewed as the current position and velocity of the pendulum. Similarly, a signal-processing system that filters a signal would maintain a set of previous inputs as the state. The system parameters are the numerical representation of the static (unchanging) configuration of the system and may be viewed as constant coefficients in the system's equations. For the pendulum example, a parameter is the length of pendulum and for the filter example; a parameter is the values of the filter taps.
In practice, except for the most basic systems, mathematical models for dynamic systems involve a complex set of mathematical transformations applied in some prescribed manner with the outputs of some transformations forming the inputs of others. Each elemental transformation may be viewed in isolation as a simple dynamic system falling into one of the categories listed above. Therefore, a complex dynamic system may be modeled as an interconnection of various simple dynamic systems.
A schematic representation of such an interconnection that has evolved over the years is the graphical model. Such graphical models have now become a standard means in textbooks, design papers, journal articles, and specifications to communicate the details of a dynamic system's behavior. Various classes of graphical models describe computations that can be performed on computational hardware, such as a computer, microcontroller, FPGA, and custom hardware. Classes of such graphical models include time-based block diagrams, such as those found within SIMULINK from The Math Works, Inc. of Natick, Mass., state-based and flow diagrams, such as those found within STATEFLOW from The Math Works, Inc. of Natick, Mass., data-flow diagrams, circuit diagrams, and software diagrams, such as those found in the Unified Modeling Language. A common characteristic among these various forms of graphical models is that they define semantics on how to execute the model.
Generally, graphical analysis and simulation methods, such as the block diagram method, are used in modeling for design, analysis, and synthesis of engineered systems. The visual representation allows for a convenient interpretation of model components and structure and provides a quick intuitive notion of system behavior. Block diagrams are a set of graphical connections between blocks to model a system. The individual blocks in a block diagram represent mathematical operations and output a result.
Conventional simulation models become more complex as models are developed that model more complex systems. Hundreds of thousands of blocks that represent primitive and aggregate mathematical operations may be present. To manage the complexity of such models, principles of partitioning, abstraction, and hierarchy are applied.
In addition to graphical based modeling or simulation, other applications can be utilized to model a system, such as a control system or dynamic system. For example, MATLAB provided by The Math Works, Inc. of Natick, Mass., is an interactive programming and interpretive application that can implement a variety of computing tasks in engineering and science, while also having the ability to execute other executable programs. Some of the tasks that MATLAB can perform range from data acquisition and analysis to application development. The MATLAB environment integrates mathematical computing, visualization, and technical programming language. MATLAB includes built-in interfaces that provide access and import data from instruments, files, and external databases and programs.
In addition, MATLAB can integrate external routines written in C, C++, Fortran, and Java with MATLAB applications. As such, MATLAB provides an example of interactive programming and interpretive environments that can work in conjunction with C routines provided external to MATLAB including those provided by third party providers.
Control systems, specifically feedback control systems, can be designed and modeled based on conventional graphical model methodology. For example, FIG. 1 illustrates a basic controller sequence modeled using a graphical model format. There is a reference “u” provided to a controller 500 that controls an operation in a plant 502. A “plant” refers to a physical subsystem or process being controlled. This results in an output of the plant “y”, which is both output and communicated back to a Sum operation 504 for input to the controller 500. The control system is the interconnection between the controller and a plant.
However, in real world applications a model of a plant and corresponding controller(s) is far more complex. Most control systems are MIMO (multi-input multi-output) in nature. FIG. 2 is an illustration of a model of plant operations, and the various controllers and variables that may be encountered in a simulation. A nonlinear plant 510 has a first controller 512, a second controller 514, up to “n” controllers 516. There are multiple inputs to the first, second, and n controllers 512, 514, and 516 in the form of a first reference 518, a second reference 520, operating points 522, a first disturbance 524, and a second disturbance 526. The controllers 512, 514, and 516 control the plant 510 and produce a first output 528 and a second output 530. The behavior of the control system is dependent upon multiple inputs, complex operating points, multiple control elements, and multiple output signals. This desired behavior is expressed in many different ways by engineers as “performance constraints”. These “performance constraints” are usually based on characteristics of the output and internal signals of the control system under normal operating conditions when the system is subject to changes in reference and disturbance signals. In addition there may be requirements or “design specifications” that the dynamics of the control system meet certain stability specifications such as gain and phase margins. The design specifications are defined to be based on some combination of the controllers and the plant of the control system. For example, the stability margins of a control system can be based on the frequency response of a interconnection between controller and the plant. There are a plurality of controllers, feedback loops, or compensators, that must be designed and subsequently tuned in complex control systems. In such a situation, engineers typically design control systems and portions of control systems without taking into account dynamics that result from a change in inputs across the entire plant 510 or changes to other portions of the control system. The focus of a control system design is to transform the performance constraints and design specifications required of the feedback control system to the analysis used in control design.